package qeug.shsh.fi.fromPlugin;

import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.form.plugin.AbstractFormPlugin;
import qeug.shsh.helper.FacadeHelper;

import java.util.EventObject;

/**
 * 辅助资料表单插件：字段通过类别控制隐显插件
 */
public class AssistantDataFromPlugin extends AbstractFormPlugin {

    @Override
    public void afterBindData(EventObject e) {
        super.afterBindData(e);
        if (this.getModel().getValue("group") != null) {
            DynamicObject group = (DynamicObject) this.getModel().getValue("group");
            String number = group.getString("number");
            if (number.equals("order")) {
                //内部订单号（福利、安全）
                this.getView().setVisible(true, "qeug_company");//公司
                this.getView().setVisible(false, "qeug_account");//总账科目
                this.getView().setVisible(true, "qeug_expenseitem");//费用项目
                this.getView().setVisible(true, "qeug_oredernum");//内部订单号
                this.getView().setVisible(false, "qeug_wbsfactor");//WBS要素
                this.getView().setVisible(false, "qeug_start_time");//开始时间
                this.getView().setVisible(false, "qeug_end_time");//结束时间
            } else if (number.equals("01")) {
                //工作分解结构元素 (WBS 元素)
                this.getView().setVisible(true, "qeug_company");//公司
                this.getView().setVisible(false, "qeug_account");//总账科目
                this.getView().setVisible(true, "qeug_wbsfactor");//WBS要素
                this.getView().setVisible(false, "qeug_expenseitem");//费用项目
                this.getView().setVisible(false, "qeug_oredernum");//内部订单号
                this.getView().setVisible(false, "qeug_start_time");//开始时间
                this.getView().setVisible(false, "qeug_end_time");//结束时间
            } else if (number.equals("TAX_ACCOUNT")) {
                //税金对应银行存款科目
                this.getView().setVisible(true, "qeug_company");//公司
                this.getView().setVisible(true, "qeug_account");//总账科目
                this.getView().setVisible(false, "qeug_expenseitem");//费用项目
                this.getView().setVisible(false, "qeug_oredernum");//内部订单号
                this.getView().setVisible(false, "qeug_wbsfactor");//WBS要素
                this.getView().setVisible(false, "qeug_start_time");//开始时间
                this.getView().setVisible(false, "qeug_end_time");//结束时间
            } else if (number.equals("oderother")) {
                //内部订单号（研发）
                this.getView().setVisible(true, "qeug_start_time");//开始时间
                this.getView().setVisible(true, "qeug_end_time");//结束时间
                this.getView().setVisible(false, "qeug_company");//公司
                this.getView().setVisible(false, "qeug_account");//总账科目
                this.getView().setVisible(false, "qeug_expenseitem");//费用项目
                this.getView().setVisible(false, "qeug_oredernum");//内部订单号
                this.getView().setVisible(false, "qeug_wbsfactor");//WBS要素
            } else {
                this.getView().setVisible(false, "qeug_company");//公司
                this.getView().setVisible(false, "qeug_account");//总账科目
                this.getView().setVisible(false, "qeug_expenseitem");//费用项目
                this.getView().setVisible(false, "qeug_oredernum");//内部订单号
                this.getView().setVisible(false, "qeug_wbsfactor");//WBS要素
                this.getView().setVisible(false, "qeug_start_time");//开始时间
                this.getView().setVisible(false, "qeug_end_time");//结束时间
            }
        }
    }
}
